1. Field of the Invention
The invention relates to supporting virtual instances of data processing entities, particularly hardware devices.
2. Related Art
It is normal for a computer to have just a single operating system (OS) running at any one time. That operating system provides support to one or more user-level applications running on the computer. The support provided by the operating system typically includes providing the applications with protocols whereby the applications can communicate with hardware components of the computer. Those components could include input/output (I/O) devices such as a keyboard, a display or a network interface. The protocols can be provided in the form of libraries of procedures that can be called by the applications and which, when executed, communicate with the hardware in the desired way.
When a computer runs multiple operating systems at the same time each operating system functions independently of the others, so a hypervisor is used to manage the operating systems' interaction with hardware components of the computer. The hypervisor performs functions such as scheduling the operations of each operating system and ensuring that when the hardware needs to communicate with a particular one of the operating systems its messages are directed correctly. The latter occurs frequently when hardware, such as a network interface, receives data. Efficiency improvements in processing received data in multi-operating system environments are thus highly advantageous. Therefore, what is desired and provided herein is an improved way of arranging an interface to receive and direct incoming data.